วิธีแก้ปัญหาเมื่อทำการเชื่อม EC2 Instance Connect แล้วเกิด Error
ปัญหาที่เกิดขึ้น
ผมใช้ EC2 Instance Connect ในการเชื่อมต่อกับ EC2 instance แต่เกิด Error ไม่สามารถเชื่อมต่อได้
รายละเอียดของ Error:
There was a problem connecting to your instance
We were unable to connect to your instance. Make sure that your instance’s network settings are configured correctly for EC2 Instance Connect. For more information, see Task 1: Configure network access to an instance.
วิธีแก้ปัญหา
ในการใช้งาน EC2 Instance Connect เราจำเป็นต้องตั้งค่าอะไรหลายๆอย่างก่อนเข้าใช้งานครับ
Linux Distribution ที่ให้การรองรับ
- Amazon Linux 2 (ทุกเวอร์ชั่น)
- Ubuntu 16.04 ขึ้นไป
กรุณาทำการตรวจสอบการตั้งค่า Network ของ EC2 instance
●ในกรณีที่เชื่อมต่อ EC2 instance ผ่าน อินเตอร์เน็ต:
ทำการตรวจสอบว่า EC2 instance ได้รับการติด Public IP หรือไม่
●ในกรณีที่เชื่อมต่อ EC2 instance ผ่าน Private IP Address:
ทำการตรวจสอบว่า Direct Connect, VPN, VPC Peering ได้ถูกตั้งค่าแล้วหรือไม่
●ทำการตรวจสอบ Security Group:
ทำการตรวจสอบ inbound rule ของ Security Group ที่ติดให้กับ EC2 instance ว่ามีการอนุญาตให้ใช้งาน Port 22 ไว้หรือไม่
●ทำการตรวจสอบว่าได้อนุญาต IP เหล่านี้ที่ Service ออกให้หรือไม่:
ให้ทำการตรวจสอบ inbound rule ว่ามีการให้อนุญาต SSH traffic AWS IP address ranges เชื่อมต่อหรือไม่
โดยในแต่ละ IP ranges ของแต่ละ Service ให้เราตรวจสอบ IP ranges ของ EC2 Instance Connect ของ Region ที่เราใช้งานอยู่ แล้วทำการเพิ่มใน Security Group
Service parameter คือ EC2_INSTANCE_CONNECT ครับ
(ตัวอย่าง) จากในไฟล์ ip-ranges.json จะสามารถตรวจสอบ IP ranges EC2_INSTANCE_CONNECT ของ Region: Singapore ได้ดังนี้
{
"ip_prefix": "3.0.5.32/29",
"region": "ap-southeast-1",
"service": "EC2_INSTANCE_CONNECT",
"network_border_group": "ap-southeast-1"
},
หากการตั้งค่าทางด้านบนไม่มีปัญหา เราจะสามารถเชื่อมต่อไปยัง EC2 instance ผ่าน EC2 Instance Connect ได้ครับ
หากเราทำกาารตั้งค่าตามด้านบนแล้วยังไม่สามารถเชื่อมต่อได้อีก กรุณาตรวจสอบรายละเอียดเพิ่มเติมในเอกสารอ้างอิง ในหัวข้อ บทความอ้างอิง ด้านล่างนี้ครับ
บทความอ้างอิง
Install EC2 Instance Connect on your EC2 instances - Amazon Elastic Compute Cloud (English)
วิธีตรวจสอบปัญหาภายใน EC2 instance ที่ไม่สามารถ Launch ได้ | DevelopersIO
วิธีการเชื่อมต่อเซิร์ฟเวอร์ Amazon Linux 2 ของ EC2 Instance ด้วย Tera Term | DevelopersIO
บทความต้นฉบับ
EC2 Instance Connect を使用して接続エラーとなったときの対処方法 | DevelopersIO (Japanese)